﻿using System.Diagnostics;

namespace JetBlack.Services
{
    /// <summary>
    /// An interface representing a server.
    /// </summary>
    public interface IManageableServer
    {
        /// <summary>
        /// Start the server.
        /// </summary>
        void Start(string[] args);

        /// <summary>
        /// Stop the server.
        /// </summary>
        void Stop();

        /// <summary>
        /// Pause the server.
        /// </summary>
        void Pause();

        /// <summary>
        /// Resume from pause.
        /// </summary>
        void Resume();

        /// <summary>
        /// A logging object.
        /// </summary>
        TraceSource TraceSource { get; }
    }
}
